package com.java.model.singleton;

/**
 * 内部类实现单例
 * 内部类的实现方式也是懒汉式的
 * @author wangning
 * @create 2021-04-20 17:39
 */
public class InnerClassSingleton {
	//内部类
	//使用懒加载，没有synchronized方法，代码相对简洁
	private InnerClassSingleton() {}

	public static InnerClassSingleton getInstance() {
		return InnerClassSingletonHold.INSTANCE;
	}

	/**
	 * 在没有用到内部类的时候就不会加载初始化
	 * 静态内部类
	 */
	private static class InnerClassSingletonHold {
		private static final InnerClassSingleton INSTANCE = new InnerClassSingleton();
	}
}
